package edu.tamu.cse.teamproject1.Database.Interfaces;


import java.io.IOException;


/**
 * Populates a Database with an XML File
 * 
 * This interface is designed to promote data persistence for
 * testing our data. This class will provide a fully populated
 * database that will later be operated on with the use of 
 * querying functions.
 * 
 * 
 * @author Ryan McAuley <rnmcauley@neo.tamu.edu>
 * @since Release 0.1.0
 */

public interface IXMLParser {
	
	/**     
	 * Retrieves a XML file that contains the table's structure
	 * 
	 * @param filename
	 * @return nothing, simply generates the structures of the list of tables    
	 */
	void createTableStructure(String filename) throws IOException;
	
	/**     
	 * Retrieves a XML file that contains the table's values
	 * 
	 * @param filename
	 * @return nothing, populates each table in the list based on their name      
	 */
	void fillTable(String filename) throws IOException;
	
	/**     
	 * 
	 * Must call this after createTableStructure, fillTable
	 * @return fully parsed database     
	 */
	DatabaseAPI getGeneratedDatabase();

}
